查看原文
其他

漫画:一位文科生的编程之路。

忆蓉之心 Java面试那些事儿 2019-12-19

本文我将以漫画的形式分享一位来自 58 同城小伙伴的经验分享,希望帮助到更多的读者。





小言笔记内容如下。


这位大佬是一位文科生,学思想政治教育的,码龄 3 年,目前就职于 58 同城,分享了自己的两个开源项目,经常在 CSDN 写博客分享经验,于今日记下他的经验,来时刻激励我更加努力提升技术。


绪扬IS未知数:学习的话,其实入门的时候可以看看体系化视频课程(像一些开放的课程),然后有些实际开发经验之后,更多地就要看书、看文档、看源码去深入学习。一般技术的学习路径:不知道 -> 知道 -> 会用 -> 用得好 -> 摸清原理 -> 能利用其原理学习其他技术。


忆蓉之心:总结的很好,知道 -> 熟悉 -> 精通,它们之间隔了几座山。


Janus:对,知道-会用-思考-实验。后面两步是肯定要看官网 Api 和源码的。


绪扬IS未知数:个人体会,能利用其原理学习其他技术,这一项非常关键。比如框架,就是常用的框架Spring、MyBatis或者更小的框架,你天天在用,找一两个真正能达到“能利用其原理学习其他技术”,那么当你再接触新的东西的时候,触类旁通,很快也能达到这个境界了。


檬T:多向大佬学习。


绪扬IS未知数:


哈哈。我感觉最近三个月我在技术上有了质的飞跃。就是体验到了这个过程。


多多交流。做输入和输出。最大的成长,是我把Spring和MyBatis整明白了,然后从这些框架进去,自己做了两个解决工作上特定问题的框架,在开发框架的过程中,思考的东西不再是具体的业务,而是高内聚、低耦合、完善文档、易用性、通用性、代码质量这些问题。


学习的过程是一个脱实向虚的过程,从一个框架的使用到原理再到设计理念,一层层“虚化”,然后用这些“虚”的东西指导自己学习和输出一些“实”的东西。


当体验到这个过程之后,学习的速度和深度都会有很大的提升。学习不再是一个累人的事情,而是很愉快的一件事。有些所谓新的东西,可能你一看就明白它的原理,知道原理之后你再去看它怎么用,往往是非常容易的事情 。


附上我输出的这两个框架,已经开源,上次找群主帮忙推相关博文,后来一直没有推。

https://github.com/dadiyang/http-api-invoker

https://github.com/dadiyang/dataprocessor


忆蓉之心:@绪扬IS未知数 这段时间比较忙,过几天写文分享这些有价值的东西给读者。


绪扬IS未知数:


在使用的过程中学习。其实我并没有很全面地学习 Spring 源码。我读了《Spring实战》第4版这本书,让我对Spring的整个架构和理念有了从高处俯看全景的理解。在实际开发的过程中,遇到一些问题时,我再跟踪源码,对具体的某一块功能进行源码学习。


比如,我最近做的一个项目,需要用 WebSocket 做前后端通信,但是原生的 WebSocket 有其局限,需要自己解析语义,不支持分布式等。


STOMP 是 WebSocket 的子协议,他们的关系就像 HTTP 和 TCP 的关系一样。这个在《Spring实战》第18章里有介绍。


但是我很困惑,不管是国内还是国外的资料,都找不到很多STOMP相关的资料。


例如判断某个用户是否在线,这个应该是很常见的需求,但是官方文档、谷歌和百度我都查了,居然都没有相关的介绍。于是我决定自己跟一下源码。


从哪里入手呢?按理说,给用户发送消息的时候肯定会判断一下用户是否在线,此时它必然要从哪个方法上获取当前用户的状态,于是沿着这个思路一步步跟代码,结果还真被我找到了。


关于STOMP,我打算过些时间专门写几篇文章总结一下,既然网上这方面的资料有所欠缺,可能是我们该做点事情的时候了。


忆蓉之心@绪扬IS未知数 你这个学习的态度已经秒杀了大部分的人。



每个人在编程这条道路上总不会那么一帆风顺,也包括我(如果你是老读者,应该读过之前分享的一篇我的编程经历《在编程这条路上,我依旧走着》),会遇到各种各样的坑,只是有的人坚持下去,并从坑里爬出来,成长为大牛;而有的人没能坚持下去。。。


在我看来,这条编程的道路上,我们永远都只有一个职业:学生。虽然搞技术没有捷径,但它有诀窍。建此技术分享群便是处于此目的。


今年都在说寒冬,但群里一位同学最近给我说,他通过咱们群的资源跳槽成功了,薪资翻了近 2 倍左右,这也许就是这个群的价值吧,帮助一些千里马找到赏识他的伯乐。


如果觉得此文还不错,望转发支持一下,谢谢~~~


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存